Вход

Просмотр полной версии : X-JSON заголовок и его длина


PeaceCoder
22.11.2010, 15:58
Вопрос следующий. Есть ли ограничение на длину заголовка X-JSON заголовка при ответе сервера?

В стандарте HTTP копался, но видимо не обращал на это внимание. В нете тоже покопался, никто не задавался этим вопросом.
Не экспериментировал, но возможно ли передать X-JSON заголовок с Content-Type: text/html; charset=UTF-8. Думаю возможно. Вопрос в следующем: Какова будет кодировка X-JSON? такая же как и контента или будут проблемы, и обязательно надо указывать application/json в Content-Type?

Почему спрашиваю. Cейчас модно передавать AJAX ответ в X-JSON заголовке, и таким способом можно передавать и JSON и данные при генерации, что удобно для получения контента + его параметры настройки.

Спс за понимание и ответы.

subzey
22.11.2010, 19:53
ЕМНИМС, длина HTTP-заголовков ничем не ограничена.

А, вот, какой будет кодировка заголовка — сказать не могу. Скорее всего, ISO 8859-1, ибо Content-Type указывает кодировку тела сообщения, а не заголовка.

PeaceCoder
23.11.2010, 15:21
Да я так тоже подумал, надо поэкспериментировать. Ну хоть 1 человек имеет понятие о чем я спросил. А на счет длины, раз не пишется что чемто ограничена, значит не ограничена.

Теперь вопрос в другом. поля заголовка разделяются CRLF, если я правильно понял, соответсвенно, в данных поля надо все \n\r кодировать в текст.. хотя их полюбому надо кодировать в текст как бы не передавал иначе будет ошибка при eval

e1f
23.11.2010, 15:22
Теперь вопрос в другом. поля заголовка разделяются CRLF, если я правильно понял, соответсвенно, в данных поля надо все \n\r кодировать в текст..

Хм. Вы же там json собрались передавать. В нем и так не должно быть переводов строк, к чему они там?

PeaceCoder
23.11.2010, 15:29
к чему они там?
к тому что в данных JSON тоже может быть CR LF
{"a":"привет!\nЯ JSON 2-я строка"}

e1f
23.11.2010, 15:31
Простите, и где Вы тут видите перевод строки?

PeaceCoder
23.11.2010, 15:56
"\n" это текстовое представление перевода строки. Я его так написал что бы было понятно что представлении машины будет не текст "\n". В коде оно будет кодом x0D, а при eval будет ошибка.
Windows, например, перевод строки делает x0D10, а это и есть конец поля в заголовке http

Kolyaj
23.11.2010, 15:59
В JSON не может быть переводов строк, они заменяются на \n, которая обозначает перевод строки, но не является им.

e1f
23.11.2010, 16:13
В JSON не может быть переводов строк, они заменяются на \n, которая обозначает перевод строки, но не является им.

Вот и я о том же.

PeaceCoder
23.11.2010, 16:51
они заменяются на \n,
где заменяются? при передаче? ничего там не заменяется. Если вы говорите за формирование JSON-строки при переводе обьекта в строку, то да. Мы говорим на разных языках, но об одном и том же.
А в том виде как работает json_encode() в пхп, меня не устраивает и не только меня, а многих, поэтому я и затронул тему перевода строк.
В общем проехали. Пока вопросов нет, буду экпериментить.